To increase availability, a computing system may include redundant components that may form master-servant relationships where if the master fails, the servant takes over. For example, the computing system may have two controllers that are interconnected. The system may use only one of these controllers to perform a special function such as, for example, booting the system. The unused controller may be placed in a standby mode such that if the master fails, the servant controller can be used instead.
In a distributed system, the choice of which controller to use may affect the system's performance. For example, the distributed system may include a plurality of nodes that communicatively coupled to the controllers. If one of the communication links between the nodes and the controllers has failed, that controller may be unable, e.g., to boot the node. Accordingly, selecting which of the plurality of controllers acts as the master affects the availability of the system.